package pl.kosmowska.ewelina.client.app.requestfactory;

import java.util.List;

import pl.kosmowska.ewelina.client.app.requestfactory.dto.OutcomeDataProxy;
import pl.kosmowska.ewelina.client.app.requestfactory.dto.SavingsDataProxy;
import pl.kosmowska.ewelina.server.dao.SavingsDataDAO;
import pl.kosmowska.ewelina.server.locators.EntityServiceLocator;

import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.Service;


@Service(value = SavingsDataDAO.class, locator = EntityServiceLocator.class)
public interface SavingsDataRequest extends RequestContext {

  Request<SavingsDataProxy> findSavingsData(String id);
  
  Request<List<SavingsDataProxy>> findSavingsDataByUser();
  
  Request<SavingsDataProxy> persist(SavingsDataProxy savingsDataProxy, List <OutcomeDataProxy> outcomeList);
  
  Request< SavingsDataProxy> persist(SavingsDataProxy savingsDataProxy);
  
  Request<Boolean> deleteSavingsData(String id);
  
}
